﻿// 4946. 叶子节点.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/4949/

给定一棵 n
 个节点的树，节点编号 1∼n
。

1
 号节点为树的根节点。

每个节点要么是黑色的，要么是白色的。

对于一个叶子节点，如果从该节点到根节点的路径（包括两端节点）中有超过 m
 个黑色节点连续的排列在一起，则称该节点为无效叶子节点。

有效叶子节点数量 = 总叶子节点数量 - 无效叶子节点数量

请你统计，给定树中有效叶子节点的数量。

输入格式
第一行包含两个整数 n,m
。

第二行包含 n
 个整数 a1,a2,…,an
，其中 ai
 表示第 i
 个节点的颜色，1
 表示黑色，0
 表示白色。

接下来 n−1
 行，每行包含两个整数 x,y
，表示节点 x
 和节点 y
 之间存在一条无向边。

保证输入给定的是一棵树。

输出格式
一个整数，表示给定树中有效叶子节点的数量。

数据范围
前 6
 个测试点满足 2≤n≤10
。
所有测试点满足 2≤n≤105
，1≤m≤n
，0≤ai≤1
，1≤x,y≤n
，x≠y
。

输入样例1：
4 1
1 1 0 0
1 2
1 3
1 4
输出样例1：
2
输入样例2：
7 1
1 0 1 1 0 0 0
1 2
1 3
2 4
2 5
3 6
3 7
输出样例2：
2
*/
int main()
{
    std::cout << "Hello World!\n";
}

 